Nesta continuação, vamos definir Informações de política de senhas, criação de Unidades Organizacionais (OU), grupos e usuários que serão autenticados no AD, além de ajustes dos parâmetros globais para o SAMBA 4.
<UsuarioAD>: Usuário básico do AD | <GrupoAD>: grupo básico do AD |
<SenhaUsuarioAD>: Senha do usuário | <Descricao>: Descrição |
<Nome>: Nome do usuário do AD | <OU>: Nome da OU |
<Sobrenome>: Sobrenome do usuário | <Dominio>: Domínio já definido do AD |
Importante:
Tenha as pastas que serão compartilhadas já devidamente criadas, montadas e com permissões ‘700’.
Links:
https://wiki.samba.org/index.php/Adding_users_with_samba_tool
http://www.bitbull.ch/wiki/index.php/CentOS7_Samba4_AD
Em nosso caso, deixaremos a política de senha o mais branda possível, mas pode-se definir como desejado.
As unidades organizacionais são úteis quando é preciso implantar um grupo de políticas a um subconjunto de usuários, grupos e computadores dentro de um domínio.
Comumente utiliza-se a ferramenta RSAT do Windows para a criação e gerenciamento de OU, mas nesse caso, a partir da ferramenta “ldbmodify”, vamos adicionar ao arquivo especial “sam.ldb”, localizado na pasta “/usr/local/samba/private/” o conteúdo da nova Unidade Organizacional (OU).
Os grupos do AD são usados para atribuir permissões aos recursos da empresa. A melhor prática é alocar usuários em grupos e então aplicá-los a uma lista de controle de acesso. É comum ter grupos que reflitam a estrutura hierárquica da empresa, como grupos do financeiro, do marketing, do jurídico e outros.
O SAMBA 4 fornece um conjunto de grupos padrão na instalação. Os grupos padrão, assim como o grupo 'Admins' do Domínio, são grupos de segurança criados automaticamente. Use esses grupos predefinidos para ajudar a controlar o acesso e delegar funções administrativas.
Neste caso, não teremos pastas dos usuários, por isso, não usaremos as opções “--profile-path”, “--home-drive” e “--home-directory”. Utilizaremos a ferramenta “samba-tool”, para gerenciar os grupos e usuários.
samba-tool group list
samba-tool user list
samba-tool gpo listall
samba-tool group listmembers "Domain Users"
samba-tool group listmembers "Domain Admins"
samba-tool group listmembers Administrators
samba-tool group listmembers <GrupoAD>
samba-tool group removemembers <GrupoAD> <UsuarioAD>
samba-tool user disable <UsuarioAD>
samba-tool user delete <UsuarioAD>
samba-tool user setpassword <UsuarioAD>
smbclient -L localhost -U%
Se for necessário que somente usuários tenham acesso a alguma pasta compartilhada, deve-se criar o respectivo usuário no Linux e fazer a respectiva associação no arquivo “smb.conf”, que será visto com mais detalhes na próxima seção.
O arquivo de configuração do SAMBA fica localicado em “/usr/local/samba/etc/smb.conf”, sendo bem documentado e organizado em diferentes seções para facilitar sua configuração. É neste arquivo que são definidos o compartilhamento de pastas, permissões a usuários e/ou grupos, entre outros ajustes.
[global]
netbios name = <HOSTNAME>
realm = <DOMINIO.LOCAL>
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
workgroup = <DOMINIO>
server role = active directory domain controller
idmap_ldb:use rfc2307 = yes
# Diz se o servidor samba terá ou não vantagens de ganhar uma eleição local
preferred master = yes
# Endereço IP da máquina na qual está sendo configurado o samba (ex: lo eth1 192.168.9.3/24)
interfaces = lo <ethX> <EnderecoIP>/<Mascara>
# Nome do servidor na rede.
server string = Servidor de Arquivos
security = user
map to guest = bad User
# Caso tenha um encaminhador DNS na rede (ex: 192.168.9.1)
dns forwarder = <DNSFirewall>
ldap server require strong auth = no
vfs objects = dfs_samba4, acl_xattr recycle
map acl inherit = yes
store dos attributes = yes
wins support = yes
hosts allow = ALL
name resolve order = lmhosts host wins bcast
template shell = /bin/bash
template homedir = /home/%U
# Default ID mapping configuration for local BUILTIN accounts and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use an read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
#############################################################
###### DESABILITA COMPARTILHAMENTO DE IMPRESSORAS #######
printcap name = /dev/null
load printers = no
disable spoolss = yes
printing = bsd
#############################################################
log file = /var/log/samba/log.%m
log level = 1
max log size = 50
#############################################################
######### LIXEIRA #########
vfs objects = recycle crossrename
##Grava arquivos até 2GB, se não houver esta linha, só serão armazenados arquivos de até 20MB.
crossrename:sizelimit = 2000
recycle:directory_mode = 0774
recycle:subdir_mode = 0774
##Cria uma árvore de diretórios, pastas, subpastas e seus arquivos
recycle:keeptree = true
recycle:touch = true
##Cria várias versões de arquivos deletados que contenham o mesmo nome
recycle:versions = true
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.exe, *.bin
recycle:noversions = *.tmp, *.temp, *.o, *.obj, *.TMP, *.TEMP
recycle:exclude_dir = tmp, temp, cache
##Grava no diretório 'lixeira' com a pasta no nome do usuário que deletou o arquivo
#caminho completo da pasta lixeira. (ex: /mnt/vdisk-srvArquivos/samba/lixeira/%U)
recycle:repository = <PontoMontagem><PastaLixeira>/%U
#############################################################
######### AUDITORIA #########
vfs objects = full_audit
full_audit:success = open, opendir, write, unlink, rename, mkdir, rmdir, chmod, chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = LOCAL1
full_audit:priority = notice
local1.notice /var/log/auditoria-samba.log
[netlogon]
path = /usr/local/samba/var/locks/sysvol/<DominioLocal>/scripts
read only = No
browseable = no
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
browseable = no
writable = yes
force directory mode = 0777
force create mode = 0777
[Lixeira]
comment = Lixeira
# Caminho completo da pasta lixeira. (ex: /mnt/vdiskStorage/samba/lixeira)
path = <PontoMontagem><PastaLixeira>
valid users = %U
force create mode = 0777
force directory mode = 0777
browseable = yes
writable = yes
public = yes
guest ok = yes
vfs objects = acl_xattr recycle
#========================= Pastas Compartilhadas ==============================#
##############################################################################
[Backup]
comment = Backup
# Localização do ponto de montagem de backup (ex: /mnt/nfs-backup1)
path = <PontoMontagemBackup1>
valid users = @<GrupoAD1>
invalid users = @<GrupoAD2>
read only = no
browseable = yes
writable = yes
#Todo arquivo criado neste compartilhamento será criado com permissão 777
force create mode = 0777
#Toda pasta criada neste compartilhamento será criado com permissão 777
force directory mode = 0777
guest ok = yes
vfs objects = acl_xattr recycle
[Usuario1]
comment = Pasta do Usuário 1
# Caminho completo da pasta do usuário1 (ex: /mnt/vdiskStorage/samba/users/Usuario1)
path = <PontoMontagem><PastaUsuario1>
read only = no
browseable = yes
writable = yes
force create mode = 0777
force directory mode = 0777
# Controle de acesso definido por usuário. Neste caso, somente os usuário 1 e 2 teriam acesso a esse compartilhamento. Conferir instruções informadas anteriormente neste documento
valid users = <UsuarioLinux1> <UsuarioLinux2>
guest ok = no
vfs objects = acl_xattr recycle
[Pasta1]
comment = Pasta 1
# Caminho completo da pasta compartilhada 1 (ex: /mnt/vdiskStorage/samba/shares/pasta1)
path = <PontoMontagem><PastaCompartilhada1>
valid users = @<GrupoAD1>, @<GrupoAD2>
read only = no
browseable = yes
writable = yes
force create mode = 0777
force directory mode = 0777
guest ok = no
vfs objects = acl_xattr recycle
[Pasta2]
comment = Pasta 2
# Caminho completo da pasta compartilhada 2 (ex: /mnt/vdiskStorage/samba/shares/pasta2)
path = <PontoMontagem><PastaCompartilhada2>
valid users = @<GrupoAD1>, @<GrupoAD2>
read only = no
browseable = yes
writable = yes
force create mode = 0777
force directory mode = 0777
# Permitir o acesso a visitantes
guest ok = yes
public = yes
vfs objects = acl_xattr recycle
9 Dez 2021
9 Ago 2021
23 Ago 2021
23 Ago 2021
23 Ago 2021
18 Ago 2021
27 Jun 2019